//开发阶段入口
import Vue from 'vue' //导入VueJS语法
import App from './App.vue' //导入App入口文件
import router from './router' //导入vue-router路由
import axios from 'axios' //axios网络请求包
import NProgress from 'nprogress' //nprogress网络请求进度包
import 'nprogress/nprogress.css'
//axios部分
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'; //配置请求根路径
//拦截器
axios.interceptors.request.use(config => {
  NProgress.start(); //发起请求展示进度条
  config.headers.Authorization = window.sessionStorage.getItem('token')
  return config
})
axios.interceptors.response.use(config => {
  NProgress.start(); //发起请求展示进度条
  NProgress.done(); //请求响应后关闭进度条
  return config
})
Vue.prototype.$http = axios; //把axios包挂载到vue原型上
//element部分
import './plugins/element.js' //导入Element-UI组件
import './assets/css/global.css' //导入全局样式表
//第三方不再更新的lib
import TreeTable from 'vue-table-with-tree-grid'
Vue.component('tree-table', TreeTable); //注册第三方lib组件
//富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
//富文本样式
import 'quill/dist/quill.core.css' // import styles
import 'quill/dist/quill.snow.css' // for snow theme
import 'quill/dist/quill.bubble.css' // for bubble theme
//全局注册富文本编辑器
Vue.use(VueQuillEditor);
//注册全局过滤器
Vue.filter('dateFormat', originVal => {
  const dt = new Date(originVal);
  //年月日
  const year = dt.getFullYear()
  const month = (dt.getMonth() + 1 + '').padStart(2, '0')
  const date = (dt.getDate() + '').padStart(2, '0');
  //时分秒
  const hours = (dt.getHours() + '').padStart(2, '0')
  const minutes = (dt.getMinutes() + '').padStart(2, '0')
  const seconds = (dt.getSeconds() + '').padStart(2, '0')
  return `${year}-${month}-${date} ${hours}:${minutes}:${seconds}`
});
//是否开启生产模式代码语法控制台提示
Vue.config.productionTip = false;
//实例化vue对象
new Vue({
  router, //注册路由
  render: h => h(App) //箭头函数渲染app文件
}).$mount('#app'); //挂载的app